package modelo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


public class EventoDAO {

	public EventoDAO() {
		super();
		
	}

	public void registrarEvento(Evento evento) {
		String tiraSQL = "INSERT INTO evento "+
		 				 "(codigo, tipoEvento, direccion, fecha, hora) "+
		 				 "VALUES ('" + evento.getCodigo() + "','"  
		 				    + evento.getTipoEvento() + "','"
		 				     + evento.getDireccion() + "','" 
		 				      + evento.getFecha() + "','" 
		 				     + evento.getHora() +"')";
		
		Conexion.ejecutar(tiraSQL);
	}
		
	public ArrayList<Evento> consultarEvento() {
		//String codigo, String tipoEvento, String direccion, String fecha, String hora		
		
		ArrayList<Evento> eventos = new ArrayList<Evento>();
		String tiraSQL = "SELECT * FROM evento";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				String codigo = resultSet.getString("codigo");
				String tipoEvento = resultSet.getString("tipoEvento");
				String direccion = resultSet.getString("direccion");
				String fecha = resultSet.getString("fecha");
				String hora = resultSet.getString("hora");
				
				Evento evento = new Evento(codigo, tipoEvento, direccion, fecha, hora);
				eventos.add(evento);
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return eventos;
	}	
	
	
	public Evento buscarEvento(String cod) {
		Evento evento = new Evento();
		String tiraSQL = "SELECT * FROM evento";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				String codigo = resultSet.getString("codigo");
				
				if (codigo.equals(cod)){
				
				String tipoEvento = resultSet.getString("tipoEvento");
				String direccion = resultSet.getString("direccion");
				String fecha = resultSet.getString("fecha");
				String hora = resultSet.getString("hora");
				
			    evento = new Evento(codigo, tipoEvento, direccion, fecha, hora);
				return evento;
		
				}
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}	
	
	
public int numeroEvento() {
		
		int cont = 0;
		String tiraSQL = "SELECT * FROM evento";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				
				cont++;
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return cont;
	}	




public ArrayList<String> consultarRegalosSinObsequiar(String c) {
	
	int con=0, inicial = 0;
	String tiraSQL = "SELECT * FROM listaobsequio";
	ArrayList<String> codigoMostrar = new ArrayList<String>();

	ResultSet resultSet = Conexion.consultar(tiraSQL);		
	try {
		while (resultSet.next()) {
			con =0;
			inicial =0;
			String codevento = resultSet.getString("codigoevento");
			String codprod = resultSet.getString("codigoproducto");
			
			if (c.equalsIgnoreCase(codevento)){
				
				String tiraSQL1 = "SELECT * FROM obsequio";
				ResultSet resultSet1 = Conexion.consultar(tiraSQL1);
				
				try {
					
					while (resultSet1.next()) {
						inicial++;
						String codobs = resultSet.getString("codigoproducto");
						String codev = resultSet.getString("codigoevento");
						
						
						if (codobs != codprod && codev == c) {
						
							con++;
							String desc = resultSet.getString("descripcion");
							
						  }
						}
						
				} catch (SQLException ee) {
					ee.printStackTrace();
				} 
				if (con == inicial){codigoMostrar.add(codprod);}
				
			}
		}
		
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return codigoMostrar;
}	
}
